Introduction

Back to ece454

Distributed system theory

What are they?

Why?

Distributed systems are usually used as middleware: a layer of software separating applications from underlying systems. Used for communication, transactions, service composition, reliability, etc

Goals:

Things we want to hide when distributing resources:

Openness

Scalability expands along these axes:

Hiding latencies

Bad assumptions

Types of distributed systems

Shared memory vs message passing

Shared memory:

Message passing

Cluster computing systems

These systems distribute CPU or IO intensive jobs across multiple servers (e.g. Hadoop)